package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;
import java.util.List;

/**
 * 预约记录对象 sys_appointment_record
 *
 * @author ruoyi
 * @date 2025-06-10
 */
public class SysAppointmentRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 客户主键 */
    @Excel(name = "客户主键")
    private Long customerId;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 客户编号 */
    @Excel(name = "客户编号")
    private String customerCode;

    /** 预约记录 */
    @Excel(name = "预约记录")
    private String appointmentRecord;

    /** 预约时间 */
    @Excel(name = "预约时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date appointmentTime;

    /** 预约开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginAppointmentTime;

    /** 预约结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endAppointmentTime;

    /** 访谈时间 */
    @Excel(name = "访谈时间")
    private Integer interviewTime;

    /** 预约单位 */
    @Excel(name = "访谈单位")
    private Long interviewUnit;

    /** 签约可能 */
    @Excel(name = "签约可能")
    private Long isSign;

    /** 是否上门 */
    @Excel(name = "是否上门")
    private Long isVisit;

    @Excel(name = "确认人名称")
    private String approverName;

    @Excel(name = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date approverTime;

    @Excel(name = "审核备注")
    private String approverNote;

    public String getApproverNote() {
        return approverNote;
    }

    public void setApproverNote(String approverNote) {
        this.approverNote = approverNote;
    }

    public String getApproverName() {
        return approverName;
    }

    public void setApproverName(String approverName) {
        this.approverName = approverName;
    }

    public Date getApproverTime() {
        return approverTime;
    }

    public void setApproverTime(Date approverTime) {
        this.approverTime = approverTime;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerCode() {
        return customerCode;
    }

    public void setCustomerCode(String customerCode) {
        this.customerCode = customerCode;
    }

    public Date getBeginAppointmentTime() {
        return beginAppointmentTime;
    }

    public void setBeginAppointmentTime(Date beginAppointmentTime) {
        this.beginAppointmentTime = beginAppointmentTime;
    }

    public Date getEndAppointmentTime() {
        return endAppointmentTime;
    }

    public void setEndAppointmentTime(Date endAppointmentTime) {
        this.endAppointmentTime = endAppointmentTime;
    }

    public Integer getInterviewTime() {
        return interviewTime;
    }

    public void setInterviewTime(Integer interviewTime) {
        this.interviewTime = interviewTime;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setCustomerId(Long customerId)
    {
        this.customerId = customerId;
    }

    public Long getCustomerId()
    {
        return customerId;
    }

    public void setAppointmentRecord(String appointmentRecord)
    {
        this.appointmentRecord = appointmentRecord;
    }

    public String getAppointmentRecord()
    {
        return appointmentRecord;
    }

    public void setAppointmentTime(Date appointmentTime)
    {
        this.appointmentTime = appointmentTime;
    }

    public Date getAppointmentTime()
    {
        return appointmentTime;
    }

    public Long getInterviewUnit() {
        return interviewUnit;
    }

    public void setInterviewUnit(Long interviewUnit) {
        this.interviewUnit = interviewUnit;
    }

    public void setIsSign(Long isSign)
    {
        this.isSign = isSign;
    }

    public Long getIsSign()
    {
        return isSign;
    }

    public void setIsVisit(Long isVisit)
    {
        this.isVisit = isVisit;
    }

    public Long getIsVisit()
    {
        return isVisit;
    }

    @Override
    public String toString() {
        return "SysAppointmentRecord{" +
                "id=" + id +
                ", customerId=" + customerId +
                ", customerName='" + customerName + '\'' +
                ", customerCode='" + customerCode + '\'' +
                ", appointmentRecord='" + appointmentRecord + '\'' +
                ", appointmentTime=" + appointmentTime +
                ", beginAppointmentTime=" + beginAppointmentTime +
                ", endAppointmentTime=" + endAppointmentTime +
                ", interviewTime=" + interviewTime +
                ", interviewUnit=" + interviewUnit +
                ", isSign=" + isSign +
                ", isVisit=" + isVisit +
                ", approverName='" + approverName + '\'' +
                ", approverTime=" + approverTime +
                '}';
    }
}